home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
Pascal Super Library
/
Pascal Super Library (CW International)(1997).bin
/
MENU_UTL
/
OMENU
/
OMENUP.PAS
< prev
Wrap
Pascal/Delphi Source File
|
1993-10-10
|
4KB
|
96 lines
program omenup;
{ Dropdown menu system }
{$A+ + Align Data on}
{$B- - Boolean Eval short}
{$D+ + Debug info on}
{$E+ + 8087 Emulation on}
{$F+ + Force far calls on}
{$G+ + Generate 286 code}
{$I+ + IO checking on}
{$L+ + Local symbols on}
{$N- - Numeric Processing off}
{$O- - Overlays off}
{$R+ + Range checks on}
{$S+ + Stack checks on}
{$V- - Relaxed String checks}
{$X+ + Extended Syntax on}
uses crt,omenu;
var
VMenu : OVMenu;
HMenu : OHMenu;
HVMenu : OHVMenu; { OHVMenu is Horiz-Vert Menu obj }
AStr : string;
i,j,k,x : integer;
c : char;
NBg : integer; { Normal Background color }
NFg : integer; { Normal Foreground color }
HBg : integer; { Highlighted Background color }
HFg : integer; { Highlighted Foreground color }
BC : integer; { Border color }
SC : integer; { Shadow color }
begin
NBg := black;
NFg := white;
HBg := white;
HFg := black;
BC := black;
SC := lcyan;
GraphInit;
GClrScr(white);
for i := 0 to 21 do GWriteXy(0,i,
'We are in graphics mode displaying text across the screen.',white,black);
HVMenu.init;
HVMenu.SetHorItems( 00,00,80,01, {x1,y1,x2,y2 coordinates}
NBg, {Normal Background}
NFg, {Normal Foreground}
HBg, {Highlighted Background}
HFg, {Highlighted Foreground}
BC, {Border Color}
SC, {Shadow Color (white looks black)}
4, {Number of menu items}
1, {Item to highlight first}
BorderOn, {Draw border? BorderOn,BorderOff}
ShadowOff, {Shadow on? ShadowOn,ShadowOff}
' File | Edit | Utility | Preferences ');
{Menu items, delimited with '|'}
{ Horizontal menu does not require *menu number* parm}
HVMenu.SetVerItems( 01, {Menu Number}
00,01,10,05, {x1,y1,x2,y2 coordinates}
NBg, {Normal Background}
NFg, {Normal Foreground}
HBg, {Highlighted Background}
HFg, {Highlighted Foreground}
BC, {Border Color}
SC, {Shadow Color (white looks black)}
4, {Number of menu items}
1, {Item to highlight first}
BorderOn, {Draw border? BorderOn,BorderOff}
ShadowOn, {Shadow on? ShadowOn,ShadowOff}
' Save | Save As | Print | Quit ');
{Menu items, delimited with '|'}
HVMenu.SetVerItems(2,06,01,17,03,NBg,NFg,HBg,HFg,BC,Sc,
2,1,BorderOn,ShadowOn,
' Change | Restore ');
HVmenu.SetVerItems(3,12,01,29,03,NBg,NFg,HBg,HFg,BC,Sc,
2,1,BorderOn,ShadowOn,
' Some options | No Options ');
HVMenu.SetVerItems(4,21,01,39,04,NBg,NFg,HBg,HFg,BC,Sc,
4,1,BorderOn,ShadowOn,
' Save Screen | Font | Whatever ');
HMenu.EraseOK:=False;
X:=HVMenu.MenuResult(false,true);
str(x div 100,AStr);
GWritexy(0,22,'Horizontal Choice was '+AStr,white,black);
str(x mod 100,AStr);
GWritexy(0,23,'Vertical Choice was '+AStr,white,black);
str(x,AStr);
GWritexy(0,24,'Hor-Vert Choice was '+AStr,white,black);
c:=readkey;
HVMenu.Done;
end.